Programmazione le Strutture Cicliche.
Notizie del giorno per documentarsi su ciò che accade nel mondo !
Ti invitiamo a dedicare qualche minuto per aiutarci a capire meglio quanto soddisfiamo le tue esigenze! |
Dizionari Enciclopedia Storia Link utili La scuola consegue tanto meglio il proprio scopo quanto più pone l'individuo
in condizione di fare a meno di essa. |
La ripetizione di un procedimento Esempio 9 Le strutture While e UNTIL sono equivalenti Esempio 11 Condizione di Termine per il Ciclo Esempio 12 La realizzazione di algoritmi ripetitivi Esempio 14 Altri tipi di algoritmi ripetitivi Esempio 15 Problemi non esplicitamente ripetitivi Problemi che richiedono un numero di ripetizioni noto La struttura ciclica FOR Esempio 16 Il passo del ciclo FOR Esempio 17 Ripasso di Matematica per Informatica Informatica - Programmazione Altri Sistemi Operativi Basic Dati e Le Prime Istruzioni Il Trattamento dei Dati Le Funzioni Intrinseche o Predefinite Le Istruzioni di Controllo Linguaggio e Ambiente di Sviluppo Procedure e Funzioni Programmi Dos Suono e Grafica Ricerche Complementari Vettori e Matrici Borland Delphi Caratteristiche dei Linguaggi di Programmazione I Data Base I File Ricerche Complementari I File I Linguaggi di Programmazione I Pacchetti Applicativi Sistemi Operativi Ricerche Complementari Sistemi Operativi Il Multimedia Il Sistema Operativo Dos Ricerche Complementari Il Sistema Operativo Dos Internet e Intranet Introduzione La Programmazione Interfaccia Utente L'Ambiente Microsoft Windows Le Applicazioni Ricerche Complementari Le Applicazioni Le Periferiche del Computer Le Reti di Computer Le Reti Ricerche Complementari Le Strutture di Dati Ricerche Complementari Le Strutture di Dati L'Hardware del PC Ricerche Complementari L'Hardware del Personal Computer Linguaggi Ricerche Complementari Microsoft Visual Basic Periferiche Ricerche Complementari Programmazione la Struttura Condizionale Le Matrici Dall'Algoritmo al Programma I File I Primi Elementi I Vettori Il Controllo degli Errori La Grafica L'Analisi Top Down Programmazione RAD Programmazione Le Matrici Rappresentazione Dati in Memoria Ricerche Complementari Sistemi di Numerazione Storia del Computer Struttura e Funzionamento del Computer Ricerche Complementari Struttura e Funzionamento del Computer Web link: Strutture Iterative while for do C++ Programmazione C Ciclo Pre-condizionale (while) INFORMATICA - PROGRAMMAZIONE LE STRUTTURE CICLICHELE STRUTTURE WHILE E UNTILSpesso è necessario ripetere più volte uno stesso gruppo di istruzioni;le istruzioni di controllo che permettono di controllare la ripetizione vengono dette strutture cicliche o ripetitive. Anche se nei diversi linguaggi di programmazione possono venire utilizzate istruzioni con nomi diversi, le strutture ripetitive vengono normalmente indicate come struttura WHILE e struttura UNTIL; esse permettono di ripetere una sequenza di operazioni, terminando quando si verifica una particolare condizione. LA STRUTTURA WHILELa struttura WHILE ha il seguente schema:mentre condizione esegui istruzioni A. . fine mentre Per prima cosa viene valutata la condizione (cioè stabilito se la condizione è vera o falsa); se la condizione risulta falsa si esce subito dal ciclo, altrimenti si eseguono le istruzioni del ciclo e poi si prova nuovamente la condizione; se è ancora vera si ripetono le istruzioni e si torna a provare la condizione, e così via finché la condizione risulta falsa. Naturalmente all'interno del ciclo dovrà esserci un'istruzione che prima o poi fa diventare falsa la condizione, altrimenti non si uscirebbe più, entrando in quello che viene chiamato un "loop infinito". LA STRUTTURA UNTILLa struttura UNTIL ha il seguente schema:ripeti istruzioni A. . finché condizione Per prima cosa vengono eseguite le istruzioni, senza considerare se la condizione sia vera o falsa; quindi le istruzioni del ciclo vengono sempre eseguite almeno una volta. Poi si valuta se la condizione sia vera o falsa; se la condizione risulta vera il ciclo termina, altrimenti si ripetono le istruzioni e si valuta nuovamente la condizione. Anche in questo caso naturalmente all'interno del ciclo deve esserci un'istruzione che prima o poi fa diventare vera la condizione (sempre per non rischiare un loop). LA RIPETIZIONE DI UN PROCEDIMENTOCi sono problemi che per natura richiedono la ripetizione di un certo gruppo di istruzioni;il caso più semplice in cui si usano le strutture cicliche è però quello in cui un certo algoritmo può venire ripetuto più volte a scelta dell'utente. Il programma quindi chiede all'utente che cosa vuole fare, se continuare o no, e utilizza la sua risposta come condizione di terminazione. E' possibile gestire questo procedimento sia con un ciclo WHILE che con un ciclo UNTIL. ESEMPIO 9 Questo programma dimostra come si possa ripetere un procedimento in base alla risposta dell'utente a una domanda di continuazione, utilizzando il ciclo UNTIL. Descrizione delle variabili:
Pseudocodifica (vedi Figura) 1 inizio 2 ripeti 3 emissione richiesta dato 4 lettura DATO 5 emissione DATO 6 emissione richiesta di continuazione 7 lettura RISPOSTA 8 finché RISPOSTA = "n" 9 fine da 3 a 5 Lettura e stampa di un dato; questo è il procedimento da ripetere più volte, a richiesta dell'utente. 6-7 Il programma chiede all'utente se desidera o meno inserire altri dati. In caso di risposta affermativa il procedimento viene ripetuto. 8 Condizione di terminazione del ciclo UNTIL; il ciclo si interrompe soltanto se viene inserito il carattere "n". Qualsiasi altro carattere fa proseguire il programma, con la richiesta di un altro dato. Commenti Il programma per prima cosa chiede sempre di inserire almeno un dato; non è possibile fermare il programma prima di aver inserito e stampato almeno un dato. Il procedimento da ripetere in questo esempio è banale: la lettura e scrittura di un numero, ma lo schema del programma rimane valido per qualsiasi altro tipo di procedimento. ESEMPIO 10 Questo programma dimostra come si possa ripetere un procedimento in base alla risposta dell'utente a una domanda di continuazione, utilizzando il ciclo WHILE. Pseudocodifica (vedi Figura) 1 inizio 2 emissione richiesta di esecuzione 3 lettura RISPOSTA 4 mentre RISPOSTA="s" 5 emissione richiesta dato 6 lettura DATO 7 emissione DATO 8 emissione richiesta di continuazione 9 lettura RISPOSTA 10 fine mentre 11 fine 2-3 Il programma inizia con la richiesta all'utente se desidera continuare o meno nell'esecuzione del programma. Rispondendo "n" alla domanda iniziale, il programma termina senza l'inserimento e la stampa di alcun dato. 4 Condizione di terminazione del ciclo; la condizione viene valutata prima di eseguire le istruzioni del ciclo, quindi se l'utente ha risposto con un carattere diverso da "s" il programma termina senza eseguire neppure una volta il procedimento di lettura e stampa di un dato. Qualsiasi altro carattere fa proseguire il programma. 5-7 Questo è il procedimento da ripetere più volte: lettura e stampa di un dato. 8-9 All'interno del ciclo è presente di nuovo la richiesta all'utente se desidera continuare; è necessario ripetere di nuovo la richiesta, altrimenti il programma una volta entrato nel ciclo non terminerebbe più, poiché non cambierebbe mai il valore della variabile RISPOSTA. La domanda e la risposta iniziali sono necessarie perché al momento del primo test la variabile RISPOSTA deve avere un valore. Domanda e risposta devono poi essere ripetute nel ciclo per un corretto funzionamento e per rispettare la struttura del ciclo WHILE. Realizzando il programma con un ciclo WHILE è possibile per l'utente far terminare subito il programma senza inserire neanche un dato; infatti il programma chiede per prima cosa se si vuole continuare nell'inserimento dei dati per poter dare un valore alla condizione di entrata nel ciclo. Rispondendo "n" alla prima richiesta il programma termina immediatamente senza leggere o stampare alcun dato. Anche in questo caso, come nell'esempio precedente, il procedimento da ripetere è banale, ma lo schema del programma rimane valido per qualsiasi altro tipo di procedimento. LE STRUTTURE WHILE E UNTIL SONO EQUIVALENTIUn ciclo UNTIL in realtà può sempre essere realizzato utilizzando la struttra WHILE;basta fare in modo che le istruzioni del ciclo vengano sempre eseguite almeno una volta. Bisogna quindi che la condizione sia sicuramente verificata prima dell'inizio del ciclo. In tal modo il ciclo viene sicuramente eseguito almeno una volta; l'algoritmo risulta così assolutamente equivalente a quello realizzato con il ciclo UNTIL. Il fatto che l'uscita dal ciclo si verifichi quando la condizione risulta falsa nel ciclo WHILE e quando risulta vera nel ciclo UNTIL (e quindi che le condizioni di uscita risultino diverse) è assolutamente irrilevante; il problema si può sempre risolvere utilizzando la condizione preceduta dall'operatore logico NOT, in modo da scambiarne il valore di verità. ESEMPIO 11 Questo programma dimostra come si possa utilizzare una struttura WHILE per codificare il ciclo UNTIL nella soluzione del problema di ripetere un procedimento in base alla risposta dell'utente a una domanda di continuazione. Potrebbe andare bene lo schema dell'esempio 10 se si fosse sicuri che la prima risposta dell'utente fosse sicuramente "s". Basta allora eliminare la richiesta e l'inserimento della risposta e sostituirle con un'assegnazione che inizializzi la variabile RISPOSTA al valore "s". Se si desidera inoltre che il flusso di esecuzione sia esattamente quello dell'esempio ) con la struttura UNTIL bisogna che il programma termini solo quando viene inserito il carattere "n"; basta allora modificare la condizione di terminazione del ciclo WHILE. Pseudocodifica (vedi Figura) 1 inizio 2 RISPOSTA= "s" 3 mentre RISPOSTA+ "n" 4 emissione richiesta dato 5 lettura DATO 6 emissione DATO 7 emissione richiesta di continuazione 8 lettura RISPOSTA 9 fine mentre 10 fine 2 La RISPOSTA viene posta uguale a "s" all'inizio del programma. 3 La condizione di uscita dal ciclo WHILE la prima volta risulterà sicuramente falsa e le istruzioni del ciclo verranno eseguite almeno una volta. L'uscita dal ciclo si verifica solo quando viene inserito il carattere "n" come nel programma dell'esempio 9; ciò è stato ottenuto usando la condizione - RISPOSTA diversa da "n" - che in realtà è la negazione della condizione - RISPOSTA = "n" - usata nel programma dell'esempio 9 per l'uscita dal ciclo UNTIL. In questo modo il programma risulta perfettamente equivalente a quello dell'esempio 9 realizzato con il ciclo UNTIL, cioè i due programmi si comportano sempre nello stesso modo; l'utente non potrebbe stabilire quale dei due programmi sta usando. CONDIZIONE DI TERMINE PER IL CICLOGli algoritmi di ripetizione che utilizzano la presentazione all'utente della richiesta di continuazione per stabilire quando terminare possono risultare un po' fastidiosi.Per semplificare l'esecuzione si può fare in modo che il procedimento termini con l'inserimento di un dato particolare. Si possono distinguere due casi: 1) si deve elaborare anche il dato che costituisce il segnale di terminazione; 2) non si deve elaborare il dato che costituisce il segnale di terminazione. Nel primo caso si deve usare un ciclo UNTIL, nel secondo caso un ciclo WHILE. ESEMPIO 12 Questo programma dimostra come si possa ripetere un procedimento terminando quando l'utente inserisce un valore particolare fissato come segnale di terminazione; questo esempio utilizza un ciclo UNTIL, pertanto viene elaborato anche il valore che fa terminare il programma. Viene presentato un esempio con dati alfanumerici, usando il "." come simbolo di terminazione; l'algoritmo è però valido per qualsiasi tipo di dati, individuando opportunamente il valore per la terminazione. Descrizione delle variabili: Pseudocodifica (vedi Figura) 1 inizio 2 ripeti 3 emissione richiesta dato 4 lettura DATO 5 emissione DATO 6 finché DATO = "." 7 fine da 3 a 5 Procedimento da ripetere. 6 Condizione per la conclusione del ciclo UNTIL: il ciclo termina quando l'utente inserisce il "." Gli esempi precedenti richiedevano ad ogni ripetizione l'inserimento di 2 input: il dato da stampare e la risposta alla domanda di continuazione. Questo programma invece richiede soltanto il dato da stampare, semplificando l'esecuzione. Poiché l'algoritmo utilizza un ciclo UNTIL il programma stampa il punto (segnale di terminazione), prima della conclusione. Qualunque serie di dati termina sempre con il punto. ESEMPIO 13 Questo programma, come il precedente, dimostra come si possa ripetere un procedimento terminando quando l'utente inserisce un valore particolare fissato come segnale di terminazione; se non si desidera però che il dato usato come segnale di terminazione venga elaborato bisogna fare uso di un ciclo WHILE. Anche in questo caso vale quanto detto in precedenza, cioè che l'algoritmo è valido per qualsiasi tipo di dati, individuando opportunamente il valore per la terminazione. Pseudocodifica (vedi Figura) 1 inizio 2 emissione richiesta dato 3 lettura DATO 4 mentre DATO > "." 5 emissione richiesta dato 7 lettura DATO 8 fine mentre 9 fine 2-3 Richiesta del primo dato. 6 Condizione per la conclusione del ciclo While: il ciclo termina quando l'utente inserisce il "." 3-5 Procedimento da ripetere. Commenti Usando il ciclo WHILE l'inserimento del punto causa l'immediato arresto del programma senza alcuna ulteriore elaborazione. Qualunque serie di dati deve terminare con il punto che però non viene mai stampato. In questi esempi non si può ripetere più volte l'inserimento e la stampa del punto; se ciò dovesse essere necessario, non si potrebbe considerare il punto come segnale di terminazione; il segnale di terminazione deve quindi essere scelto tra i dati che non intervengono normalmente nell'elaborazione. GLI ALGORITMI RIPETITIVICi sono problemi che per natura sono ripetitivi, cioè la loro soluzione richiede l'utilizzo di cicli.Serve un ciclo ogni volta che è richiesta la ripetizione di una serie di operazioni. LA REALIZZAZIONE DI ALGORITMI RIPETITIVIPer realizzare un algoritmo ciclico si devono preparare:- le inizializzazioni da effettuare prima del ciclo, - le operazioni che devono essere ripetute all'interno del ciclo, - la condizione di terminazione del ciclo. Bisogna inoltre fare molta attenzione all'uso delle variabili e al valore che assumono a ogni ciclo. ESEMPIO 14 Questo programma permette di calcolare la somma di una serie di valori. Se il numero dei valori da sommare fosse già stabilito (e non troppo alto), per esempio 4 valori, si potrebbe realizzare l'algoritmo senza usare strutture cicliche. inizio emissione richiesta dati lettura A lettura B lettura C lettura D SOMMA = A+B+C+D emissione SOMMA fine. Ma il numero dei valori da sommare deve essere variabile; cioè il programma deve permettere di sommare una volta 3 valori, un'altra volta 20 valori, poi di nuovo 7, ecc. Bisogna quindi realizzare un algoritmo che utilizzi una struttura ciclica, generalizzando il procedimento di somma di un valore. Si può utilizzare una variabile, inizialmente con valore 0, a cui aggiungere di volta in volta un valore. Usando la variabile SOMMA per la somma dei valori e la variabile NUMERO per un valore da sommare, bisogna allora: - inizializzare la variabile SOMMA a 0 prima di entrare nel ciclo. - ripetere a ogni ciclo l'inserimento di un valore in NUMERO e sommarlo al valore precedente della variabile SOMMA, - terminare il ciclo, per esempio quando viene inserito il valore 0 che comunque non influenza il risultato del programma. Descrizione delle variabili:
Pseudocodifica (vedi Figura) 1 inizio 2 SOMMA = 0 3 emissione richiesta dati 4 lettura NUMERO 5 mentre NUMERO >0 6 SOMMA = SOMMA + NUMERO 7 lettura NUMERO 8 fine mentre 9 emissione SOMMA 10 fine 2 Inizializzazione della variabile SOMMA; viene utilizzata una variabile numerica reale, anche se i valori da sommare sono numeri interi, per avere un maggior intervallo di definizione (i numeri interi di solito sono definiti in un intervallo molto più ristretto e il superamento del valore limite può causare un errore di programma o la produzione di un risultato non valido). 3 Il messaggio di richiesta dei dati può essere stampato soltanto all'inizio per non disturbare l'inserimento; potrebbe essere del tipo "Inserire un valore alla volta (0 per terminare)". 4 Lettura del primo valore; inserendo 0 il programma termina subito (viene stampato comunque il totale che in questo caso è 0, cioè il valore dato con l'inizializzazione). 5 Condizione di terminazione del ciclo; solo il valore 0 fa terminare il programma, quindi si possono inserire e sommare anche numeri negativi. 6-7 Procedimento da ripetere. 6 Somma del valore inserito al totale calcolato nel passo precedente. 7 Lettura di un nuovo valore. 9 Stampa del risultato; viene eseguita quando termina il ciclo WHILE. Il programma poteva essere utilizzato anche inserendo ogni valore soltanto dopo una richiesta di continuazione all'utente; in questo modo però l'esecuzione risulterebbe più fastidiosa. ALTRI TIPI DI ALGORITMI RIPETITIVIIn tutti gli esempi visti il programma terminava in base alla decisione dell'utente, tramite la risposta alla domanda di continuazione o l'inserimento di un valore particolare.Ci sono però molti tipi di problemi in cui è l'algoritmo che deve stabilire quando terminare la ripetizione del procedimento, in base al verificarsi di una condizione. Si possono verificare due casi diversi: - al momento dell'esecuzione è noto il numero di ripetizioni del procedimento; basta allora contare i cicli percorsi. Il programma termina quando si raggiunge il numero stabilito di ripetizioni; - non è noto il numero di ripetizioni da eseguire; in tal caso si deve stabilire una condizione per la terminazione del procedimento. N.B. Se la condizione di terminazione di un ciclo non viene mai verificata ci si trova in una situazione di loop infinito (un ciclo che non termina mai); bisogna quindi sempre accertarsi che sia possibile raggiungere la condizione di terminazione. ESEMPIO 15 Con questo programma si vogliono stampare tutti numeri dispari minori di un valore introdotto. Questo è un problema di generazione di una successione numerica. Si deve calcolare una serie di valori (successione) data una legge generale per il calcolo di un valore generico. Bisogna individuare una legge che permetta di calcolare i valori successivi da produrre, in questo caso i numeri dispari. I numeri dispari si possono calcolare facilmente in un ciclo partendo da 1 e aggiungendo un valore 2 a ogni ripetizione. Descrizione delle variabili:
Pseudocodifica (vedi Figura) 1 inizio 2 emissione richiesta valore limite 3 lettura N 4 NUMERODISPARI = 1 5 mentre NUMERODISPARI N 6 emissione NUMERODISPARI 7 NUMERODISPARI = NUMERODISPARI + 2 8 fine mentre 9 fine 2-3 Inserimento del valore limite per la successione da generare. 4 Inizializzazione di NUMERODISPARI al primo valore della successione. 5 Condizione di terminazione del ciclo. 6 Stampa di un valore della successione. La stampa deve essere effettuata all'interno del ciclo per poter ottenere in output tutta la successione di valori (se la stampa fosse all'uscita del ciclo si otterrebbe solo l'ultimo valore calcolato). 7 Calcolo del valore successivo da stampare; il numero dispari successivo si ottiene sommando 2. Se la condizione di terminazione del ciclo fosse: mentre NUMERODISPARI > N l'algoritmo sarebbe corretto per un valore di N dispari, ma si verificherebbe una condizione di loop infinito per un valore N pari. Infatti per N = 6 NUMERODISPARI = 1 è diverso da 6 NUMERODISPARI = 3 è diverso da 6 NUMERODISPARI = 5 è diverso da 6 NUMERODISPARI = 7 proseguendo all'infinito poiché un numero dispari non può mai essere uguale a 6. PROBLEMI NON ESPLICITAMENTE RIPETITIVIA volte la descrizione di un problema non richiede in modo esplicito la ripetizione di un procedimento, anche se l'algoritmo risolutivo deve in effetti essere ciclico. PROBLEMI CHE RICHIEDONO UN NUMERO DI RIPETIZIONI NOTOSe il numero di ripetizioni è noto basta contare le ripetizioni effettuate e terminare quando si raggiunge il valore desiderato. Bisogna allora conoscere il numero di ripetizioni, che può essere un valore costante o una variabile, in cui però al momento dell'esecuzione del ciclo sia stato inserito un valore particolare. Bisogna poi utilizzare un'altra variabile per contare quante volte è già stato eseguito il ciclo. Si può utilizzare sia il ciclo WHILE che il ciclo UNTIL. ESEMPI Schemi di algoritmi ripetitivi in cui è noto il numero di ripetizioni da effettuare. Se il ciclo deve essere ripetuto N volte utilizzando il ciclo WHILE si ha: INDICE = 1 mentre INDICE = N esegui istruzioniA INDICE = INDICE + 1 fine mentre o in modo più generale: INDICE = valore iniziale mentre INDICE = valore finale esegui istruzioni A INDICE = INDICE + passo fine mentre. USO DI STRUTTURE COMPOSTEIl gruppo di istruzioni da ripetere in un ciclo può comprendere strutture di qualsiasi tipo, come quelle sequenziali, condizionali o altre strutture cicliche (che a loro volta possono comprenderne altre). LA STRUTTURA CICLICA FORQuando il numero di ripetizioni da effettuare è noto in anticipo, si può utilizzare un'altra struttura ciclica, derivata dalla struttura WHILE: la struttura FOR, che permette di descrivere questi tipi di algoritmi in modo più immediato. per INDICE da valore iniziale, a valore finale, con passo PASSO esegui istruzioni A fine per L'indice del ciclo può essere utilizzato nel gruppo di istruzioni all'interno del ciclo purché non venga mai modificato. L'incremento della variabile, che deve essere indicato in modo esplicito nella descrizione con la struttura WHILE, non va specificato all'interno del ciclo ma viene effettuato in modo automatico. Anche questa struttura può essere usata in combinazione con altre, creando strutture nidificate. ESEMPIO 16 Questo programma stampa i numeri da 1 a un valore limite inserito dall'utente. Il numero di ripetizioni (stampa di un numero) è noto: è il numero limite inserito dall'utente; si può quindi usare un ciclo FOR per la descrizione dell'algoritmo. Descrizione delle variabili: Pseudocodifica (vedi Figura) 1 inizio 2 emissione richiesta valore limite 3 lettura N 4 per NUMERO da 1 a N con passo 1 5 emissione NUMERO 6 fine per 7 fine 2-3 Inserimento del valore limite; a questo punto la variabile N, limite finale del ciclo FOR, ha un valore determinato; è noto il numero di ripetizioni da effettuare. 4-6 Ciclo FOR. 5 Procedimento da ripetere (viene ripetuto N volte); ad ogni ripetizione l'indice NUMERO, inizialmente posto a 1, viene incrementato di 1. L'indice del ciclo rappresenta di volta in volta uno dei valori da stampare. IL PASSO DEL CICLO FORIl passo del ciclo FOR, cioè il valore da sommare all'indice a ogni ripetizione, può essere diverso da 1, eventualmente anche negativo. Se il passo è negativo l'indice viene decrementato; il valore iniziale deve quindi essere maggiore del valore finale perché il ciclo venga percorso. ESEMPIO 17 Questo programma stampa i multipli di 3 fino a un valore limite inserito (è un altro esempio di generazione di successioni). Il problema viene risolto semplicemente utilizzando un ciclo FOR con passo 3. Descrizione delle variabili: Pseudocodifica (vedi Figura) 1 inizio 2 emissione richiesta valore limite 3 lettura N 4 per MULTIPLI da 3 a N 5 emissione MULTIPLI 6 fine per 7 fine 2 Inserimento del valore limite, cioè del valore che l'indice del ciclo FOR dovrà raggiungere per terminare. 4-6 Ciclo FOR; a ogni ripetizione l'indice MULTIPLI, inizializzato a 3, viene incrementato di 3. Commenti. Il ciclo FOR termina quando l'indice diventa maggiore del valore finale; perciò l'algoritmo funziona senza causare loop anche se il valore limite inserito non è un multiplo di 3. I CICLI FOR NIDIFICATIPiù cicli FOR possono essere nidificati; l'indice del ciclo deve essere diverso per ogni struttura (mentre per strutture in sequenza si può riutilizzare lo stesso indice). per I da VALOREINIZIALE1 a VALOREINIZIALE1 con passo PASSO1 per J da VALOREINIZIALE2 a VALOREFINALE2 con passo PASSO2 istruzioni fine per fine. per L'indice più esterno I parte dal valore iniziale; mantenendo fisso J, viene eseguito il ciclo più interno, variando J dal valore iniziale al valore finale; poi si incrementa I e si esegue di nuovo il ciclo più interno; si passa poi a incrementare nuovamente I e così via finché I raggiunge il valore finale. ESEMPI Due cicli FOR nidificati; all'interno del ciclo vengono stampati gli indici; è possibile così verificare come vengono modificati durante l'esecuzione. inizio per I da 1 a 3 per J da 1 a 2 emissione "I=", I, " J=", J fine per fine per fine. Questo programma produce in output: I=1 J=1 I=1 J=2 I=2 J=1 I=2 J=2 I=3 J=1 I=3 J=2 TRACE CON STRUTTURE CICLICHEEseguire la trace in programmi che utilizzano strutture cicliche può servire per determinare cosa accade ad ogni ripetizione. Per esempio: - se il ciclo non termina mai si possono stampare all'interno del ciclo le variabili che intervengono nella condizione di terminazione per scoprire il motivo del loop infinito; - se un calcolo prodotto con un ciclo risulta errato si possono stampare i risultati intermedi ottenuti ad ogni ripetizione; - se un ciclo WHILE o FOR non viene mai eseguito (e si pensa che invece dovrebbe essere percorso) si possono stampare le variabili della condizione del ciclo WHILE per determinarne il valore di verità o i limiti del ciclo FOR per stabilire se permettono l'ingresso nel ciclo. Enciclopedia termini lemmi con iniziale a b c d e f g h i j k l m n o p q r s t u v w x y z Storia Antica dizionario lemmi a b c d e f g h i j k l m n o p q r s t u v w x y z Dizionario di Storia Moderna e Contemporanea a b c d e f g h i j k l m n o p q r s t u v w y z Lemmi Storia Antica Lemmi Storia Moderna e Contemporanea Dizionario Egizio Dizionario di storia antica e medievale Prima Seconda Terza Parte Storia Antica e Medievale Storia Moderna e Contemporanea Dizionario di matematica iniziale: a b c d e f g i k l m n o p q r s t u v z Dizionario faunistico df1 df2 df3 df4 df5 df6 df7 df8 df9 Dizionario di botanica a b c d e f g h i l m n o p q r s t u v z |
Buona Sera! ::::: Grazie per la visita! |
![]() |
Copyright (c) 2002 - 16 Mag. 2025 7:26:37 pm trapaninfo.it home disclaim |
![]() |